Certificateless multi-proxy signature method and apparatus

ABSTRACT

A certificateless multi-proxy signature method and apparatus, where the method may include computing, by a proxy signature device, a public key and a private key of the proxy signature device according to a public parameter, where the public key is corresponding to the private key, acquiring a verification result of a standard signature and determining, according to the verification result, whether the standard signature is valid, computing a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and sending the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of international application No. PCT/CN2014/085599, filed on Aug. 29, 2014, which claims priority to Chinese Patent Application No. 201310422950.9, filed on Sep. 16, 2013, both of which are hereby incorporated by reference in their entireties.

TECHNICAL FIELD

The present disclosure relates to the field of information security, and in particular, to a certificateless multi-proxy signature method and apparatus.

BACKGROUND

A public key cryptography system can be classified into three types: 1. a certificate-based public key cryptography system; 2. an identity-based public key cryptography system; 3. a certificateless public key cryptography system. The certificate-based public key cryptography system has a certificate management problem, and needs to consume many storage, computing, and communication resources. The identity-based public key cryptography system has an inherent key disclosure problem. The certificateless public key cryptography system resolves the foregoing two problems. A certificateless multi-proxy signature scheme is operated largely based on bilinear pairings.

Generally, certificateless multi-proxy signature (that is, multi-proxy signature based on the certificateless public key cryptography system) may be used. The certificateless multi-proxy signature does not need a certificate server to save a user's certificate, and avoids the key disclosure problem that is inherent in the identity-based public key cryptography system.

In the case of the multi-proxy signature, an original signature device is allowed to grant a signature capability of the original signature device to multiple proxy signature devices, and a valid proxy signature can be generated only when all the proxy signature devices cooperate with each other, where the proxy signature is used to represent the original signature device.

In a process of implementing the foregoing certificateless multi-proxy signature, the inventor finds that the has at least the following problem: the certificateless multi-proxy signature scheme is operated based on bilinear pairings, and the bilinear pairings involve a large computing amount and consume longer time in implementing a signature operation compared with other mechanisms. Generally, a computation cost of bilinear pairings is approximately more than 20 times that of scalar multiplication over elliptic curve group.

SUMMARY

Embodiments of the present disclosure provide a certificateless multi-proxy signature method and apparatus, which decreases a computing amount, thereby reducing computing time.

To achieve the foregoing objective, the following technical solutions are adopted in the embodiments of the present disclosure According to a first aspect, a certificateless multi-proxy signature method is provided, including computing, by a proxy signature device, a public key and a private key of the proxy signature device according to a public parameter, where the public key is corresponding to the private key, acquiring a verification result of a standard signature, and determining, according to the verification result, whether the standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), computing a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and sending the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•) and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In a first possible implementation manner of the first aspect, the standard signature computing device is any one of the proxy signature device, an original signature device, and another signature device except the original signature device and the proxy signature device, the verification result is obtained after a standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), where the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device, and the standard signature verification device is different from the standard signature computing device; where ID_(a) is an identifier of the standard signature computing device, and the public parameter further includes P_(pub).

With reference to the first aspect or the first possible implementation manner of the first aspect, in a second possible implementation manner of the first aspect, the computing, by a proxy signature device, a public key and a private key of the proxy signature device according to a public parameter includes randomly selecting x_(i) from Z*_(q) according to a formula x_(i)εZ*_(q), computing the public key according to a formula P_(i)=x_(i)P, and computing a second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)); where i (1≦i≦n) is a sequence number of the proxy signature device, where n is a quantity of proxy signature devices; x_(i) is a first sub-private key included in the private key of the proxy signature device; D_(i) is the second sub-private key included in the private key of the proxy signature device; P_(i) is the public key of the proxy signature device; ID_(i) is an identifier of the proxy signature device; s is a master key; and the public parameter includes H(•) and q.

With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner, the computing a partial proxy signature according to the private key includes acquiring an authorization signature computed by the original signature device, where the authorization signature includes ω, T₀, and V₀, verifying the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀), randomly selecting r_(i) from Z*_(q) according to a formula r_(i)εZ*_(q) if it is verified that the authorization signature is valid, computing T_(i) according to a formula T_(i)=r_(i)P, and computing V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), where the partial proxy signature includes ω, T₀, V₀, T_(i), and V_(i); where ω includes identity information of the proxy signature device and identity information of the original signature device; T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, where r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀, P₀); x₀(εZ*_(q)) is a first sub-private key of the original signature device; D₀(=sH(ID₀,P₀)) is a second sub-private key of the original signature device; ID₀ is an identifier of the original signature device; is P₀(=x₀P) is a public key of the original signature device; m is a message m input by an input end; and the public parameter further includes H₃(•), H₄(•), and P_(pub).

According to a second aspect, a certificateless multi-proxy signature method is provided, including acquiring, by a multi-proxy signature verification device, a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, and verifying the multi-proxy signature according to a public key of each proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In a first possible implementation manner of the second aspect, P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, where x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), and D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a), P_(a)); where ID_(a) is an identifier of the standard signature computing device, S is a master key, and the public parameter includes H(•) and q.

With reference to the first possible implementation manner of the second aspect, in a second possible implementation manner of the second aspect, the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)); the standard signature computing device is either of another signature device except an original signature device and the proxy signature device, and the original signature device; the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device; and the standard signature verification device is different from the standard signature computing device; where the public parameter further includes P_(pub).

With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner of the second aspect, the acquiring a multi-proxy signature includes determining whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both of a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, and if yes, computing the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)); where V₀ is obtained through computation by the original signature device according to formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀, P₀), ω includes identity information of the proxy signature device and identity information of the original signature device, T₀ is obtained through computation by the original signature device according to formula T₀=r₀P, and r₀ is randomly selected by the original signature device from Z*_(q) according to formula r₀εZ*_(q); σ is the multi-proxy signature; T_(MP)=(T₀, T₁, . . . , T_(n)), where T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, where r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q); V_(MP)==Σ_(i=0) ^(n)V_(i), where V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), i (1≦i≦n) is a sequence number of the proxy signature device, and n is a quantity of proxy signature devices; and the public parameter further includes H₃(•) and H₄(•).

With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner of the second aspect, the performing the multi-proxy signature according to a public key of each proxy signature device includes verifying the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

According to a third aspect, a certificateless multi-proxy signature apparatus is provided, including a first computing unit configured to compute a public key and a private key of a proxy signature device according to a public parameter, where the public key is corresponding to the private key, an acquiring unit configured to configured to acquire a verification result of a standard signature, and determine, according to the verification result, whether the standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), a second computing unit configured to compute a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and a sending unit configured to send the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In a first possible implementation manner of the third aspect, the standard signature computing device is any one of the proxy signature device, an original signature device, and another signature device except the original signature device and the proxy signature device, the verification result is obtained after a standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), where the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device, and the standard signature verification device is different from the standard signature computing device; where ID_(a) is an identifier of the standard signature computing device, and the public parameter further includes P_(pub).

With reference to the first possible implementation manner of the third aspect, in a second possible implementation manner of the third aspect, the first computing unit includes a first selecting module configured to randomly select x_(i) from Z*_(q) according to a formula x_(i)εZ*_(q), a first computing module configured to compute the public key according to a formula P_(i)=x_(i)P, and a second computing module configured to compute a second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)); where i (1≦i≦n) is a sequence number of the proxy signature device, where n is a quantity of proxy signature devices; x_(i) is a first sub-private key included in the private key of the proxy signature device; D_(i) is the second sub-private key included in the private key of the proxy signature device; P_(i) is the public key of the proxy signature device; ID_(i) is an identifier of the proxy signature device; s is a master key; and the public parameter includes H(•) and q.

With reference to the second possible implementation manner of the third aspect, in a third possible implementation manner of the third aspect, the second computing unit includes an acquiring module configured to acquire an authorization signature computed by the original signature device, where the authorization signature includes ω, T₀, and V₀, an authorization signature verification module configured to verify the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀), a second selecting module configured to randomly select r_(i) from Z*_(q) according to a formula r_(i)εZ*_(q) if it is verified that the authorization signature is valid, a third computing module configured to compute T_(i) according to a formula T_(i)=r_(i)P, and a fourth computing module configured to compute V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), where the partial proxy signature includes ω, T₀, V₀, T_(i), and V_(i); where ω includes identity information of the proxy signature device and identity information of the original signature device; T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, where r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀); x₀ (εZ*_(q)) is a first sub-private key of the original signature device; D₀(=sH(ID₀,P₀)) is a second sub-private key of the original signature device; ID₀ is an identifier of the original signature device; is P₀(=x₀P) is a public key of the original signature device; m is a message m input by an input end; and the public parameter further includes H₃(•), H₄(•), and P_(pub).

According to a fourth aspect, a certificateless multi-proxy signature apparatus is provided, including an acquiring unit configured to acquire a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H_(i)(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, and a verification unit configured to verify the multi-proxy signature according to a public key of each proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In a first possible implementation manner of the fourth aspect, P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, where x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), and D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)); where ID_(a) is an identifier of the standard signature computing device, S is a master key, and the public parameter includes H(•) and q.

With reference to the first possible implementation manner of the fourth aspect, in a second possible implementation manner of the fourth aspect, the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)); the standard signature computing device is either of another signature device except an original signature device and the proxy signature device, and the original signature device; the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device; and the standard signature verification device is different from the standard signature computing device; where the public parameter further includes P_(pub).

With reference to the second possible implementation manner of the fourth aspect, in a third possible implementation manner of the fourth aspect, the acquiring unit includes a determining module configured to determine whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both of a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, and a computing module configured to, if yes, compute the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)); where V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀), ω includes identity information of the proxy signature device and identity information of the original signature device, T₀ is obtained through computation by the original signature device according to a formula T=r₀P, and r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); σ is the multi-proxy signature; T_(MP)=(T₀, T₁, . . . , T_(n)) where T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, where r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q); V_(MP)=Σ_(i=0) ^(n)V_(i), where V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), i (1≦i≦n) is a sequence number of the proxy signature device, and n is a quantity of proxy signature devices; and the public parameter further includes H₃(•) and H₄(•).

With reference to the third possible implementation manner of the fourth aspect, in a fourth possible implementation manner of the fourth aspect, the verification unit includes a verification module configured to verify the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

According to the certificateless multi-proxy signature method and apparatus provided in the embodiments of the present disclosure, a multi-proxy signature is computed by using a private key, and then the multi-proxy signature is verified according to a public key, compared with a multi-proxy signature based on bilinear pairings, a computing amount is decreased, thereby reducing computing time.

BRIEF DESCRIPTION OF DRAWINGS

To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. The accompanying drawings in the following description show merely some embodiments of the present disclosure, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.

FIG. 1 is a flowchart of a certificateless multi-proxy signature method according to an embodiment;

FIG. 2 is a flowchart of another certificateless multi-proxy signature method according to an embodiment;

FIG. 3A and FIG. 3B are a flowchart of still another certificateless multi-proxy signature method according to an embodiment;

FIG. 4 is a schematic structural diagram of a virtual certificateless multi-proxy signature apparatus according to an embodiment;

FIG. 5 is a schematic structural diagram of another virtual certificateless multi-proxy signature apparatus according to an embodiment;

FIG. 6 is a schematic structural diagram of still another virtual certificateless multi-proxy signature apparatus according to an embodiment;

FIG. 7 is a structural schematic diagram of still another virtual certificateless multi-proxy signature apparatus according to an embodiment; and

FIG. 8 is a structural schematic diagram of a physical certificateless multi-proxy signature apparatus according to an embodiment.

DESCRIPTION OF EMBODIMENTS

The following clearly describes the technical solutions in the embodiments of the present disclosure with reference to the accompanying drawings in the embodiments of the present disclosure. The described embodiments are merely a part rather than all of the embodiments of the present disclosure. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present disclosure without creative efforts shall fall within the protection scope of the present disclosure.

A certificateless multi-proxy signature scheme is operated based on bilinear pairings, and the bilinear pairings involve a large computing amount and consume longer time in implementing a signature operation compared with other mechanisms. Generally, a computation cost of bilinear pairings is approximately more than 20 times that of scalar multiplication over elliptic curve group.

To resolve the foregoing problem, an embodiment provides a certificateless multi-proxy signature method, and the method is executed by a proxy signature device. As shown in FIG. 1, the method may include 101. A proxy signature device computes a public key and a private key of the proxy signature device according to a public parameter.

The public key is corresponding to the private key.

In an implementation manner of this embodiment, in a process of implementing certificateless multi-proxy signature, first, a system may publish a public parameter. The public parameter may be acquired by any signature device, so that each signature device computes its own public key and private key according to the public parameter.

The any signature device in this embodiment may be any one of the following: another proxy signature device except the proxy signature device executing this step, an original signature device, and the like.

The public key and the private key are not limited in this embodiment and are technologies well known to a person skilled in the art, which are not described herein again.

102. Acquire a verification result of a standard signature and determine, according to the verification result, whether the standard signature is valid.

The standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In an implementation manner of this embodiment, a standard signature verification device may first acquire the standard signature from the standard signature computing device, and then the proxy signature device may acquire the verification result of the standard signature from the standard signature verification device, where the verification result may be used to represent whether the standard signature is valid.

103. The proxy signature device computes a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid.

In the process of implementing certificateless multi-proxy signature, the original signature device may authorize multiple proxy signature devices to perform multi-proxy signature. The multiple proxy signature devices may compute their partial proxy signatures according to their own private keys. A proxy signature device administrator may perform a corresponding operation on the partial proxy signatures of all the proxy signature devices to obtain a multi-proxy signature, and determine the multi-proxy signature as a signature of the original signature device.

To execute the subsequent step, first, the proxy signature device may compute the partial proxy signature of the proxy signature device according to the private key.

104. The proxy signature device sends the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature.

In an implementation manner of this embodiment, after the proxy signature device obtains its partial proxy signature through computation according to its own private key, the proxy signature device may send the partial proxy signature to the proxy signature device administrator. After receiving partial proxy signatures of all proxy signature devices, the proxy signature device administrator computes the multi-proxy signature according to the partial proxy signatures of all the proxy signature devices. The verification device may verify the multi-proxy signature.

It should be noted that the proxy signature device administrator may be any proxy signature device.

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time.

An embodiment provides another certificateless multi-proxy signature method, where the method may be executed by a multi-proxy signature verification device. As shown in FIG. 2, the method may include 201. A multi-proxy signature verification device acquires a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid.

The standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂ (•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

The multi-proxy signature may be obtained through computation by the proxy signature device administrator according to the partial proxy signature of each proxy signature device.

The partial proxy signature may be obtained through computation by a corresponding proxy signature device according to a private key of the proxy signature device, where the public key is corresponding to the private key.

In an implementation manner of this embodiment, the multi-proxy signature may be mainly used to check whether a transmitted message is complete.

For example, to ensure reliability of a message m (which may be input by an input end) received by a receive end, the message m may be encrypted, that is, a multi-proxy signature of the message m may be computed, and the multi-proxy signature is verified.

202. The multi-proxy signature verification device verifies the multi-proxy signature according to a public key of each proxy signature device.

In an implementation manner of this embodiment, the verification device verifies the multi-proxy signature according to the public key of each proxy signature device. If a verification result is that the multi-proxy signature is valid, it indicates that the message m may be complete. If the verification result is that the multi-proxy signature is invalid, it indicates that the message m may be incomplete.

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (that is, time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time.

An embodiment provides still another certificateless multi-proxy signature method, where the method further extends and optimizes the methods shown in FIG. 1 and FIG. 2. As shown in FIG. 3A and FIG. 3B, the method may include 301. A proxy signature device acquires a public parameter.

In an implementation manner of this embodiment, a private key generator (PKG) selects a group G whose order is a prime number q and randomly selects sεZ*_(q) as a master key, to compute a corresponding system public key P_(pub)=sP, where P is a generator of G. Moreover, the PKG may randomly select five different cryptographic hash functions H,H₁,H₂,H₃,H₄:{0,1}*→Z*_(q).

The public parameter may include G, P, q, H(•), H₁(•), H₂(•), H₃(•), H₄(•), and P_(pub), that is, params=(G,P,q,H,H₁,H₂,H₃,H₄,P_(pub)).

The public parameter in this embodiment may be acquired by any device (a device such as the proxy signature device or an original signature device).

302. Each proxy signature device computes its own public key and private key according to the public parameter.

A signature device in this embodiment may include the proxy signature device, the original signature device, and another signature device except the proxy signature device and the original signature device.

Further, the private key may include a first sub-private key and a second sub-private key.

Further, that each proxy signature device computes its own public key and private key according to the public parameter includes randomly selecting, by the proxy signature device, x_(i) from Z*_(q) according to a formula x_(i)εZ*_(q); computing the public key according to a formula P_(i)=x_(i)P; and computing the second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)), where i (1≦i≦n) is a sequence number of the proxy signature device, where n is a quantity of proxy signature devices; x_(i) is the first sub-private key included in the private key of the proxy signature device; D_(i) is the second sub-private key included in the private key of the proxy signature device; P_(i) is the public key of the proxy signature device; ID_(i) is an identifier of the proxy signature device; s is the master key; and the public parameter includes H(•) and q.

For example, a proxy signature device with a sequence number of 1 (that is, i=1) may randomly select x₁ from Z*_(q) according to a formula x₁εZ*_(q), compute a public key according to a formula P₁=x₁P, and compute a second sub-private key according to a formula D_(i)=sH(ID₁,P₁), where a private key of the proxy signature device with the sequence number of 1 may include (x₁,D₁). A public key and a private key of another proxy signature device may be computed by using a same method as the foregoing enumerated method, which is not described herein again.

Further, that the original signature device computes its own public key and private key according to the public parameter may include randomly selecting, by the original signature device (which may be understood as i=0), x₀ from Z*_(q) according to a formula x₀εZ*_(q); computing the public key according to a formula P₀=x₀P; and computing the second sub-private key according to a formula D₀=sH(ID₀,P₀), where P₀ is a public key of the original signature device, x₀ is a first sub-private key of the original signature device, D₀ is a second sub-private key of the original signature device, and ID₀ is an identifier of the original signature device.

It should be noted that, multiple signature devices (which may include the original signature device and the proxy signature device) may simultaneously execute this step, that is, multiple signature devices simultaneously compute their respective public keys and private keys.

303. A standard signature computing device computes a standard signature of a message m according to a private key of the standard signature computing device.

The standard signature may include T and V.

The standard signature computing device may compute T according to a formula T=rP, and may compute V according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)).

Further, P_(a) may be obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, where x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), and D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)); where ID_(a) is an identifier of the standard signature computing device, s is the master key, and the public parameter includes H(•) and q.

Further, the standard signature computing device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in the private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

If the standard signature computing device is the proxy signature device, that a proxy signature device with a sequence number of i computes the standard signature may include acquiring, by the proxy signature device with the sequence number of i, the message m input by the transmit end; randomly selecting r from Z*_(q) according to a formula rεZ*_(q); computing T according to a formula T=rP; and computing V according to a formula V=D_(i)+x_(i)H₁(m,T,P_(i))+rH₂(m,T,P_(i)), so that the verification device checks whether the standard signature of the message m is valid, where the standard signature may include V and T.

If the standard signature computing device is the original signature device, that the original signature device computes the standard signature may include acquiring, by the original signature device, the message m input by the transmit end; randomly selecting r from Z*_(q) according to a formula rεZ*_(q); computing T according to a formula T=rP; and computing V according to a formula V=D₀+x₀H₁(m,T,P₀)+rH₂(m,T,P₀), so that the verification device checks whether the standard signature of the message m is valid, where the standard signature may include V and T.

If the standard signature computing device is the another signature device except the original signature device and the proxy signature device, that the another signature device computes the standard signature may include acquiring, by the another signature device, the message m input by the transmit end; randomly selecting r from Z*_(q) according to a formula rεZ*_(q); computing T according to a formula T=rP; and computing V according to a formula V=D_(b)+x_(b)H₁(m,T,P_(b))+rH₂(m,T,P_(b)), so that the verification device checks whether the standard signature of the message m is valid, where the standard signature may include V and T, where b is a sequence number of the another signature device.

It should be noted that, the standard signature computing device in this embodiment may be a signature device randomly selected from the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device, and a specific selecting method may be set according to an actual need, which is not described herein again.

304. A standard signature verification device acquires the standard signature, obtained by the standard signature computing device through computation, of the message m.

305. The standard signature verification device checks whether the acquired standard signature is valid, so as to obtain a verification result. If it is verified that the standard signature is valid, execute step 306; if it is verified that the standard signature is invalid, end the procedure.

Further, the standard signature verification device may verify the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)). If the equation holds, the standard signature may be valid; if the equation does not hold, the standard signature may be invalid, where ID_(a) is an identifier of the standard signature computing device, and the public parameter further includes P_(pub).

Further, the standard signature verification device may be any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device.

If the standard signature verification device is any proxy signature device, the checking whether the acquired standard signature is valid may include verifying the standard signature according to a formula VP=P_(pub)H(ID_(i),P_(i))+P_(i)H₁(m,T,P_(i))+TH₂(m,T,P_(i)), so that the proxy signature device computes a partial proxy signature according to the private key after it is verified that the standard signature is valid.

If the formula VP=P_(pub)H(ID_(i),P_(i))+P_(i)H₁(m,T,P_(i))+TH₂(m,T,P_(i)) holds, it indicates that the standard signature may be valid; if the formula VP=P_(pub)H(ID_(i),P_(i))+P_(i)H₁(m,T,P_(i))+TH₂(m,T,P_(i)) does not hold, it indicates that the standard signature may be invalid.

If the standard signature verification device is the original signature device, the checking whether the acquired standard signature is valid may include verifying the standard signature according to a formula VP=P_(pub)H(ID₀,P₀)+P₀H₁(m,T,P₀)+TH₂(m,T,P₀), so that the proxy signature device computes a partial proxy signature according to the private key after it is verified that the standard signature is valid.

If the formula VP=P_(pub)H(ID₀,P₀)+P₀H₁(m,T,P₀)+TH₂(m,T,P₀) holds, it indicates that the standard signature may be valid; if the formula VP=P_(pub)H(ID₀,P₀)+P₀H₁(m,T,P₀)+TH₂(m,T,P₀) does not hold, it indicates that the standard signature may be invalid.

If the standard signature verification device is any other signature device except the proxy signature device and the original signature device, the checking whether the acquired standard signature is valid may include verifying the standard signature according to a formula VP=P_(pub)H(ID_(b),P_(b))+P_(b)H₁(m,T,P_(b))+TH₂(m,T,P_(b)), so that the proxy signature device computes a partial proxy signature according to the private key after it is verified that the standard signature is valid.

If the formula VP=P_(pub)H(ID_(b),P_(b))+P_(b)H₁(m,T,P_(b))+TH₂(m,T,P_(b)) holds, it indicates that the standard signature may be valid; if the formula VP=P_(pub)H(ID_(b),P_(b))+P_(b)H₁(m,T,P_(b))+TH₂(m,T,P_(b)) does not hold, it indicates that the standard signature may be invalid.

Further, the standard signature verification device is different from the standard signature computing device.

306. An original signature device computes an authorization signature according to a private key of the original signature device.

In certificateless multi-proxy signature, the original signature device may authorize another proxy signature device to perform signature. In this step, the original signature device mainly performs authorization on the proxy signature device. The original signature device may first compute, according to the private key of the original signature device, an authorization signature of each proxy signature device. If each proxy signature device verifies that a corresponding authorization signature is valid, it indicates that the proxy signature device is authorized to perform multi-proxy signature.

The authorization signature may include ω, T₀, and V₀.

Further, the original signature device may compute V₀ according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀), and compute T₀ according to a formula T₀=r₀P, where ω may include but is not limited to identity information of a proxy signature device to be authorized, identity information of the original signature device, an authorization message type, an authorization period, and the like.

307. The proxy signature device acquires the authorization signature computed by the original signature device.

308. The proxy signature device verifies the authorization signature. If it is verified that the authorization signature is valid, execute step 309; if it is verified that the authorization signature is invalid, end the procedure or request a valid authorization signature from the original signature device.

Further, that the proxy signature device verifies the authorization signature may include verifying, by the proxy signature device, the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

If the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) holds, it indicates that the authorization signature may be valid; if the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) does not hold, it indicates that the authorization signature may be invalid.

Further, the proxy signature device may acquire a multi-proxy key, where the multi-proxy key may include P_(i), T₀, and V₀, that is, (x_(i),D_(i)), T₀, and V₀.

309. The proxy signature device acquires the verification result of the standard signature from the standard signature verification device, and determines, according to the verification result, whether the standard signature is valid. If it is verified that the standard signature is valid, execute step 310; if it is verified that the standard signature is invalid, end the procedure.

310. The proxy signature device computes a partial proxy signature of the proxy signature device according to the private key.

In an implementation manner of this embodiment, that the proxy signature device computes a partial proxy signature of the proxy signature device according to the private key may be that each proxy signature device computes its partial proxy signature according to the multi-proxy key.

Further, that the proxy signature device with the sequence number of i computes a partial proxy signature may include randomly selecting, by the proxy signature device with the sequence number of i, r_(i) from Z*_(q) according to a formula r_(i)εZ*_(q); computing T_(i) according to a formula T_(i)=r_(i)P; computing V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), where the partial proxy signature may include ω, T₀, V₀, T_(i), and V_(i).

For example, a proxy signature device with a sequence number of 1 (that is, i=1) randomly selects r₁ from Z*_(q) according to a formula r₁εZ*_(q), computes T₁ according to a formula T₁=r₁P, and computes V₁ according to a formula V₁=D₁+x₁H₃(m,T₁,P₁)+r₁H₄(m,T₁,P₁), where a partial proxy signature may include ω, T₀, V₀, T₁, and V₁. Another proxy signature device computes its own partial proxy signature according to the private key by using a same method as the foregoing enumerated method, which is described in this step.

It should be noted that, in this step, multiple proxy signature devices may simultaneously compute their respective partial proxy signatures.

311. The proxy signature device sends the partial proxy signature to a proxy signature device administrator.

It should be noted that, in this step, all the multiple proxy signature devices may send their respective partial proxy signatures to the proxy signature device administrator.

312. The proxy signature device administrator performs verification according to the received partial proxy signature and determines whether it is verified that the partial proxy signature is valid; if it is verified that the partial proxy signature is valid, step 313 is executed; if it is verified that the partial proxy signature is invalid, the procedure ends.

Further, the proxy signature device administrator verifies the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂ (ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) according to the received partial proxy signature.

If all formulas included in the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and the formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, it indicates that the partial proxy signature may be valid through verification; if all formulas included in the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and the formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, it indicates that the partial proxy signature may be invalid through verification.

313. The proxy signature device administrator computes a multi-proxy signature according to the received partial proxy signature.

Further, the proxy signature device administrator may compute the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)), where σ is the multi-proxy signature, T_(MP)=(T₀, T₁, . . . , T_(n)), and V_(MP)=Σ_(i=0) ^(n)V_(i).

314. The verification device verifies the multi-proxy signature.

Further, the verification device may verify the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

If the formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) holds, it indicates that the multi-proxy signature may be valid; if the formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) does not hold, it indicates that the multi-proxy signature may be invalid.

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time. In addition, no certificate is introduced in computing the public key, ensuring that no certificate is disclosed. Computing the private key according to the public key can enable the public key and the private key to restrict each other and avoid a public key replacement attack.

The following provides some virtual apparatus embodiments, and these virtual apparatus embodiments are respectively corresponding to the method embodiments provided above.

An embodiment provides a certificateless multi-proxy signature apparatus. As shown in FIG. 4, the apparatus may include a first computing unit 41 configured to compute a public key and a private key of a proxy signature device according to a public parameter, where the public key is corresponding to the private key, an acquiring unit 42 configured to acquire a verification result of a standard signature, and determine, according to the verification result, whether the standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), a second computing unit 43 configured to compute a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and a sending unit 44 configured to send the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time.

An embodiment provides another certificateless multi-proxy signature apparatus, and the apparatus further extends and optimizes the apparatus shown in FIG. 4. As shown in FIG. 5, the apparatus may include a first computing unit 51 configured to compute a public key and a private key of a proxy signature device according to a public parameter, where the public key is corresponding to the private key, an acquiring unit 52 configured to acquire a verification result of a standard signature, and determine, according to the verification result, whether the standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), a second computing unit 53 configured to compute a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and a sending unit 54 configured to send the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

Further, the standard signature computing device is any one of the proxy signature device, an original signature device, and another signature device except the original signature device and the proxy signature device.

The verification result is obtained after a standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), where the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device, and the standard signature verification device is different from the standard signature computing device; where ID_(a) is an identifier of the standard signature computing device, and the public parameter further includes P_(pub).

Further, the first computing unit 51 includes a first selecting module 511 configured to randomly select x_(i) from Z*_(q) according to a formula x_(i)εZ*_(q), a first computing module 512 configured to compute the public key according to a formula, P_(i)=x_(i)P, and a second computing module 513 configured to compute a second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)); where i (1≦i≦n) is a sequence number of the proxy signature device, where n is a quantity of proxy signature devices; x_(i) is a first sub-private key included in the private key of the proxy signature device; D_(i) is the second sub-private key included in the private key of the proxy signature device; P_(i) is the public key of the proxy signature device; ID_(i) is an identifier of the proxy signature device; s is a master key; and the public parameter includes H(•) and q.

Further, the second computing unit 53 includes an acquiring module 531 configured to acquire an authorization signature computed by the original signature device, where the authorization signature includes ω, T₀, and V₀, an authorization signature verification module 532 configured to verify the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀), a second selecting module 533 configured to randomly select r_(i) from Z*_(q) according to a formula r_(i)εZ*_(q) if it is verified that the authorization signature is valid, a third computing module 534 configured to compute T_(i) according to a formula T_(i)=r_(i)P, and a fourth computing module 535 configured to compute V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), where the partial proxy signature includes ω, T₀, V₀, T_(i), and V_(i); where ω includes identity information of the proxy signature device and identity information of the original signature device; T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, where r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀); x₀(εZ*_(q)) is a first sub-private key of the original signature device; D₀(=sH(ID₀,P₀)) is a second sub-private key of the original signature device; ID₀ is an identifier of the original signature device; P₀(=x₀P) is a public key of the original signature device; m is a message m input by an input end; and the public parameter further includes H₃(•), H₄(•), and P_(pub).

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time. In addition, no certificate is introduced in computing the public key, ensuring that no certificate is disclosed. Computing the private key according to the public key can enable the public key and the private key to restrict each other and avoid a public key replacement attack.

An embodiment provides another certificateless multi-proxy signature apparatus. As shown in FIG. 6, the apparatus includes an acquiring unit 61 configured to acquire a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, and a verification unit 62 configured to verify the multi-proxy signature according to a public key of each proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time.

An embodiment provides another certificateless multi-proxy signature apparatus, and the apparatus further extends and optimizes the apparatus shown in FIG. 6. As shown in FIG. 7, the apparatus includes an acquiring unit 71 configured to acquire a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, and a verification unit 72 configured to verify the multi-proxy signature according to a public key of each proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

Further, P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, where x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), and D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)); where ID_(a) is an identifier of the standard signature computing device, s is a master key, and the public parameter includes H(•) and q.

Further, the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)); the standard signature computing device is either of another signature device except an original signature device and the proxy signature device, and the original signature device; the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device; and the standard signature verification device is different from the standard signature computing device.

The public parameter further includes P_(pub).

Further, the acquiring unit 71 includes a determining module 711 configured to determine whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both of a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, and a computing module 712 configured to, if yes, compute the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)); where V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀), ω includes identity information of the proxy signature device and identity information of the original signature device, T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, and r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q). σ is the multi-proxy signature; T_(MP)=(T₀, T₁, . . . , T_(n)), where T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, where r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q); V_(MP)=Σ_(i=0) ^(n)V_(i), where V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), i (1≦i≦n) is a sequence number of the proxy signature device, and n is a quantity of proxy signature devices; and the public parameter further includes H₃(•) and H₄(•).

Further, the verification unit 72 includes a verification module 721 configured to verify the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time. In addition, no certificate is introduced in computing the public key, ensuring that no certificate is disclosed. Computing the private key according to the public key can enable the public key and the private key to restrict each other and avoid a public key replacement attack.

The following provides some physical apparatus embodiments, and these physical apparatus embodiments are respectively corresponding to the method embodiments and the virtual apparatus embodiments that are provided above.

An embodiment provides a device, and this device may be a terminal or a network side device such as a computer, a mobile phone, a tablet computer, or a server, and is used to implement the method shown in any one of FIG. 1 to FIG. 3A and FIG. 3B. An example in which the device is a computer is used, as shown in FIG. 8, a computer 1 includes at least one processor 15, such as a central processing unit (CPU), at least one output interface 16 or another user interface 17, a memory 18, and at least one communications bus 19. The communications bus 19 is configured to implement connection and communication between these components. The computer 1 optionally includes the another user interface 17, including a display, a keyboard, or a pointing device (such as a mouse, a trackball (trackball), a touchpad, or a touch display screen). The memory 18 may include a high-speed random access memory (RAM), and may further include a non-volatile memory, for example, at least one magnetic disk storage. The memory 18 may optionally include at least one storage apparatus that is located far away from the processor 15.

In some implementation manners, the memory 18 stores the following elements: an executable module or a data structure, or a subset thereof, or an extended set thereof.

An operating system 180 includes various system programs and is configured to implement various basic services and process hardware-based tasks.

An application program module 181 includes various application programs and is configured to implement various application services.

The application program module 181 may include but is not limited to a first computing unit configured to compute a public key and a private key of a proxy signature device according to a public parameter, where the public key is corresponding to the private key, an acquiring unit configured to acquire a verification result of a standard signature, and determine, according to the verification result, whether the standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), a second computing unit configured to compute a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and a sending unit configured to send the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

Further, the standard signature computing device is any one of the proxy signature device, an original signature device, and another signature device except the original signature device and the proxy signature device.

The verification result is obtained after a standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), where the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device, and the standard signature verification device is different from the standard signature computing device; where ID_(a) is an identifier of the standard signature computing device, and the public parameter further includes P_(pub).

Further, the first computing unit includes a first selecting module configured to randomly select x_(i) from Z*_(q) according to a formula x_(i)εZ*_(q), a first computing module configured to compute the public key according to a formula P_(i)=x_(i)P, and a second computing module configured to compute a second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)); where i (1≦i≦n) is a sequence number of the proxy signature device, where n is a quantity of proxy signature devices; x_(i) is a first sub-private key included in the private key of the proxy signature device; D_(i) is the second sub-private key included in the private key of the proxy signature device; P_(i) is the public key of the proxy signature device; ID_(i) is an identifier of the proxy signature device; s is a master key; and the public parameter includes H(•) and q.

Further, the second computing unit includes an acquiring module configured to acquire an authorization signature computed by the original signature device, where the authorization signature includes ω, T₀, and V₀, an authorization signature verification module configured to verify the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀), a second selecting module configured to randomly select r_(i) from Z*_(q) according to a formula r_(i)εZ*_(q) if it is verified that the authorization signature is valid, a third computing module configured to compute T_(i) according to a formula T_(i)=r_(i)P, and a fourth computing module configured to compute V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), where the partial proxy signature includes ω, T₀, V₀, T_(i), and V_(i); where ω includes identity information of the proxy signature device and identity information of the original signature device; T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, where r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀); x₀(εZ*_(q)) is a first sub-private key of the original signature device; D₀(=sH(ID₀,P₀)) is a second sub-private key of the original signature device; ID₀ is an identifier of the original signature device; P₀(=x₀P) is a public key of the original signature device; m is a message m input by an input end; and the public parameter further includes H₃(•), H₄(•), and P_(pub).

The application program module 181 may further include but is not limited to an acquiring unit configured to acquire a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, and a verification unit configured to verify the multi-proxy signature according to a public key of each proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

Further, P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, where x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), and D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)); where ID_(a) is an identifier of the standard signature computing device, s is a master key, and the public parameter includes H(•) and q.

Further, the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)); the standard signature computing device is either of another signature device except an original signature device and the proxy signature device, and the original signature device; the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device; and the standard signature verification device is different from the standard signature computing device.

The public parameter further includes P_(pub).

Further, the acquiring unit includes a determining module configured to determine whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both of a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub) H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, and a computing module configured to, if yes, compute the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)); where V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀), ω includes identity information of the proxy signature device and identity information of the original signature device, T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, and r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); σ is the multi-proxy signature; T_(MP)=(T₀, T₁, . . . , T_(n)) where T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, where r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q); V_(MP)=Σ_(i=0) ^(n)V_(i), where V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), i (1≦i≦n) is a sequence number of the proxy signature device, and n is a quantity of proxy signature devices; and the public parameter further includes H₃(•) and H₄(•).

Further, the verification unit includes a verification module configured to verify the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

In this embodiment of the present disclosure, by invoking programs or instructions stored in the memory 18, the processor 15 is configured to compute a public key and a private key of a proxy signature device according to a public parameter, where the public key is corresponding to the private key, acquire a verification result of a standard signature, and determine, according to the verification result, whether the standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), compute a partial proxy signature of the proxy signature device according to the private key if the verification result is used to represent that the standard signature is valid, and send the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

Further, the standard signature computing device is any one of the proxy signature device, an original signature device, and another signature device except the original signature device and the proxy signature device.

The verification result is obtained after a standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), where the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device, and the standard signature verification device is different from the standard signature computing device; where ID_(a) is an identifier of the standard signature computing device, and the public parameter further includes P_(pub).

Further, the processor 15 is configured to: randomly select x_(i) from Z*_(q) according to a formula x_(i)εZ*_(q), compute the public key according to a formula P_(i)=x_(i)P, and compute a second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)); where i (1≦i≦n) is a sequence number of the proxy signature device, where n is a quantity of proxy signature devices; x_(i) is a first sub-private key included in the private key of the proxy signature device; D_(i) is the second sub-private key included in the private key of the proxy signature device; P_(i) is the public key of the proxy signature device; ID_(i) is an identifier of the proxy signature device; s is a master key; and the public parameter includes H(•) and q.

Further, the computing a partial proxy signature according to the private key includes acquiring an authorization signature computed by the original signature device, where the authorization signature includes ω, T₀, and V₀, verifying the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀, P₀), randomly selecting r_(i) from Z*_(q) according to a formula r_(i)εZ*_(q) if it is verified that the authorization signature is valid, computing T_(i) according to a formula T_(i)=r_(i)P, and computing V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), where the partial proxy signature includes ω, T₀, V₀, T_(i), and V_(i); where ω includes identity information of the proxy signature device and identity information of the original signature device; T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, where r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀); x₀(εZ*_(q)) is a first sub-private key of the original signature device; D₀(=sH(ID₀,P₀)) is a second sub-private key of the original signature device; ID₀ is an identifier of the original signature device; is P₀(=x₀P) is a public key of the original signature device; m is a message m input by an input end; and the public parameter further includes H₃(•), H₄(•), and P_(pub).

In this embodiment of the present disclosure, by invoking programs or instructions stored in the memory 18, the processor 15 may be further configured to acquire a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, where the standard signature includes T and V, where T is obtained through computation by a standard signature computing device according to a formula T=rP, and V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device; and the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device, and verify the multi-proxy signature according to a public key of each proxy signature device; where r is randomly selected from Z*_(q) according to a formula rεZ*_(q); a is a sequence number of the standard signature computing device and 0≦a≦l, where l is a quantity of standard signature computing devices plus one; x_(a) is a first sub-private key included in a private key of the standard signature computing device; D_(a) is a second sub-private key included in the private key of the standard signature computing device; m is a message m input by a transmit end; P_(a) is a public key of the standard signature computing device; and the public parameter includes H₁(•), H₂(•), and P, where P is a generator of G, and G is a group G whose order is a prime number q.

Further, P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, where x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), and D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)); where ID_(a) is an identifier of the standard signature computing device, s is a master key, and the public parameter includes H(•) and q.

Further, the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)); the standard signature computing device is either of another signature device except an original signature device and the proxy signature device, and the original signature device; the standard signature verification device is any one of the proxy signature device, the original signature device, and the another signature device except the original signature device and the proxy signature device; and the standard signature verification device is different from the standard signature computing device.

The public parameter further includes P_(pub).

Further, the processor 15 is configured to determine whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both of a formula V₀P=H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, and if yes, compute the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)); where V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀); ω includes identity information of the proxy signature device and identity information of the original signature device, T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, and r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q); σ is the multi-proxy signature; T_(MP)=(T₀,T₁, . . . , T_(n)), where T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, where r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q); V_(MP)=Σ_(i=0) ^(n)V_(i), where V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), i (1≦i≦n) is a sequence number of the proxy signature device, and n is a quantity of proxy signature devices; and the public parameter further includes H₃(•) and H₄(•).

Further, the processor 15 is configured to verify the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).

In this solution, a multi-proxy signature is computed according to a private key, and then the multi-proxy signature is verified according to a public key. Because computing time (which may include time for computing the public key and the private key) of the method in the present disclosure is less than time for computing bilinear pairings, compared with a multi-proxy signature based on the bilinear pairings, this solution decreases a computing amount, thereby reducing computing time. In addition, no certificate is introduced in computing the public key, ensuring that no certificate is disclosed. Computing the private key according to the public key can enable the public key and the private key to restrict each other and avoid a public key replacement attack.

Based on the foregoing descriptions of the implementation manners, a person skilled in the art may clearly understand that the present disclosure may be implemented by software in addition to necessary universal hardware or by hardware only. In most circumstances, the former is a preferred implementation manner. Based on such an understanding, the technical solutions of the present disclosure essentially or the part contributing to the may be implemented in a form of a software product. The software product is stored in a readable storage medium, such as a floppy disk, a hard disk or an optical disc of a computer, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform the methods described in the embodiments of the present disclosure.

The foregoing descriptions are merely specific implementation manners of the present disclosure, but are not intended to limit the protection scope of the present disclosure. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present disclosure shall fall within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims. 

What is claimed is:
 1. A certificateless multi-proxy signature method, comprising: computing, by a proxy signature device, a public key and a private key of the proxy signature device according to a public parameter, wherein the public key is corresponding to the private key; acquiring a verification result of a standard signature; determining, according to the verification result, whether the standard signature is valid, wherein the standard signature comprises T and V, wherein T is obtained through computation by a standard signature computing device according to a formula T=rP, and wherein V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)); computing a partial proxy signature of the proxy signature device according to the private key when the verification result is used to represent that the standard signature is valid; and sending the partial proxy signature to a proxy signature device administrator, so that after the proxy signature device administrator obtains a multi-proxy signature through computation according to the partial proxy signature, a multi-proxy signature verification device verifies the multi-proxy signature, wherein r is randomly selected from Z*_(q) according to a formula rεZ*_(q), wherein a is a sequence number of the standard signature computing device and 0≦a≦l, wherein l is a quantity of standard signature computing devices plus one, wherein x_(a) is a first sub-private key comprised in a private key of the standard signature computing device, wherein D_(a) is a second sub-private key comprised in the private key of the standard signature computing device, wherein m is a message m input by a transmit end, wherein P_(a) is a public key of the standard signature computing device, wherein the public parameter comprises H₁(•), H₂(•), and P, wherein P is a generator of G, and wherein G is a group G whose order is a prime number q.
 2. The certificateless multi-proxy signature method according to claim 1, wherein the standard signature computing device is any one of: the proxy signature device; an original signature device; and another signature device except the original signature device and the proxy signature device, wherein the verification result is obtained after a standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), wherein the standard signature verification device is any one of: the proxy signature device; the original signature device; and the another signature device except the original signature device and the proxy signature device, and wherein the standard signature verification device is different from the standard signature computing device, wherein ID_(a) is an identifier of the standard signature computing device, and wherein the public parameter further comprises P_(pub).
 3. The certificateless multi-proxy signature method according to claim 1, wherein computing, by the proxy signature device, the public key and the private key of the proxy signature device according to the public parameter comprises: selecting x_(i) from Z*_(q) randomly according to a formula x_(i)εZ*_(q); computing the public key according to a formula P_(i)=x_(i)P; and computing a second sub-private key according to a formula D_(i)=sH(ID_(i),P_(i)), wherein i (1≦i≦n) is a sequence number of the proxy signature device, wherein n is a quantity of proxy signature devices, wherein x_(i) is a first sub-private key comprised in the private key of the proxy signature device, wherein D_(i) is the second sub-private key comprised in the private key of the proxy signature device, wherein P_(i) is the public key of the proxy signature device, wherein ID_(i) is an identifier of the proxy signature device, wherein s is a master key, and wherein the public parameter comprises H(•) and q.
 4. The certificateless multi-proxy signature method according to claim 3, wherein computing the partial proxy signature of the proxy signature device according to the private key comprises: acquiring an authorization signature computed by the original signature device, wherein the authorization signature comprises ω, T₀, and V₀; verifying the authorization signature according to a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀); selecting r_(i) from Z*_(q) randomly according to a formula r_(i)εZ*_(q) when it is verified that the authorization signature is valid; computing T_(i) according to a formula T_(i)=r_(i)P; and computing V_(i) according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), wherein the partial proxy signature comprises ω, T₀, V₀, T_(i), and V_(i), wherein ω comprises identity information of the proxy signature device and identity information of the original signature device, wherein T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, wherein r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q), wherein V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀), wherein x₀(εZ*_(q)) is a first sub-private key of the original signature device, wherein D₀(=sH(ID₀,P₀)) is a second sub-private key of the original signature device, wherein ID₀ is an identifier of the original signature device, wherein P₀(=x₀P) is a public key of the original signature device, wherein m is a message m input by an input end, and wherein the public parameter further comprises H₃(•), H₄(•), and P_(pub).
 5. A certificateless multi-proxy signature method, comprising: acquiring, by a multi-proxy signature verification device, a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, wherein the standard signature comprises T and V, wherein T is obtained through computation by a standard signature computing device according to a formula T=rP, wherein V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), wherein the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device, and wherein the partial proxy signature is obtained through computation by the each proxy signature device according to a private key of the proxy signature device; and verifying the multi-proxy signature according to a public key of each proxy signature device, wherein r is randomly selected from Z*_(q) according to a formula rεZ*_(q), wherein a is a sequence number of the standard signature computing device, wherein 0≦a≦l, wherein l is a quantity of standard signature computing devices plus one, wherein x_(a) is a first sub-private key comprised in a private key of the standard signature computing device, wherein D_(a) is a second sub-private key comprised in the private key of the standard signature computing device, wherein m is a message m input by a transmit end, wherein P_(a) is a public key of the standard signature computing device, wherein the public parameter comprises H₁(•), H₂(•), and P, wherein P is a generator of G, and wherein G is a group G whose order is a prime number q.
 6. The certificateless multi-proxy signature method according to claim 5, wherein P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, wherein x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), wherein D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)), wherein ID_(a) is an identifier of the standard signature computing device, wherein s is a master key, and wherein the public parameter comprises H(•) and q.
 7. The certificateless multi-proxy signature method according to claim 6, wherein the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), wherein the standard signature computing device is one of another signature device except an original signature device and the proxy signature device, and the original signature device, wherein the standard signature verification device is any one of: the proxy signature device; the original signature device; and the another signature device except the original signature device and the proxy signature device, wherein the standard signature verification device is different from the standard signature computing device, and wherein the public parameter further comprises P_(pub).
 8. The certificateless multi-proxy signature method according to claim 7, wherein acquiring the multi-proxy signature comprises: determining whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold; and computing the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)) when the proxy signature device administrator verifies that both the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and the formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, wherein V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀,P₀), wherein ω comprises identity information of the proxy signature device and identity information of the original signature device, wherein T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, wherein r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q), wherein σ is the multi-proxy signature, wherein T_(MP)=(T₀, T₁, . . . , T_(n)), wherein T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, wherein r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q), wherein V_(MP)=Σ_(i=0) ^(n)V_(i), wherein V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), wherein i (1≦i≦n) is a sequence number of the proxy signature device, wherein n is a quantity of proxy signature devices, and wherein the public parameter further comprises H₃(•) and H₄(•).
 9. The certificateless multi-proxy signature method according to claim 8, wherein verifying the multi-proxy signature according to the public key of each proxy signature device comprises verifying the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))=Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀).
 10. A certificateless multi-proxy signature apparatus, comprising a memory storing instructions, the instructions being executable by a processor to: acquire a multi-proxy signature after a standard signature verification device verifies that a standard signature is valid, wherein the standard signature comprises T and V, wherein T is obtained through computation by a standard signature computing device according to a formula T=rP, wherein V is obtained through computation by the standard signature computing device according to a formula V=D_(a)+x_(a)H₁(m,T,P_(a))+rH₂(m,T,P_(a)), wherein the multi-proxy signature is obtained through computation by a proxy signature device administrator according to a partial proxy signature of each proxy signature device, and wherein the partial proxy signature is obtained through computation by the proxy signature device according to a private key of the proxy signature device; and verify the multi-proxy signature according to a public key of each proxy signature device, wherein r is randomly selected from Z*_(q) according to a formula rεZ*_(q), wherein a is a sequence number of the standard signature computing device, wherein 0≦a≦l, wherein l is a quantity of standard signature computing devices plus one, wherein x_(a) is a first sub-private key comprised in a private key of the standard signature computing device, wherein D_(a) is a second sub-private key comprised in the private key of the standard signature computing device, wherein m is a message m input by a transmit end, wherein P_(a) is a public key of the standard signature computing device, wherein the public parameter comprises H₁(•), H₂(•), and P, wherein P is a generator of G, and wherein G is a group G whose order is a prime number q.
 11. The certificateless multi-proxy signature apparatus according to claim 10, wherein P_(a) is obtained through computation by the standard signature computing device according to a formula P_(a)=x_(a)P, wherein x_(a) is randomly selected by the standard signature computing device from Z*_(q) according to a formula x_(a)εZ*_(q), wherein D_(a) is obtained through computation by the standard signature computing device according to a formula D_(a)=sH(ID_(a),P_(a)), wherein ID_(a) is an identifier of the standard signature computing device, wherein s is a master key, and wherein the public parameter comprises H(•) and q.
 12. The certificateless multi-proxy signature apparatus according to claim 11, wherein the standard signature verification device verifies the standard signature according to a formula VP=P_(pub)H(ID_(a),P_(a))+P_(a)H₁(m,T,P_(a))+TH₂(m,T,P_(a)), wherein the standard signature computing device is one of another signature device except an original signature device and the proxy signature device, and the original signature device, wherein the standard signature verification device is any one of: the proxy signature device; the original signature device; and the another signature device except the original signature device and the proxy signature device, wherein the standard signature verification device is different from the standard signature computing device, and wherein the public parameter further comprises P_(pub).
 13. The certificateless multi-proxy signature apparatus according to claim 12, wherein acquiring the multi-proxy signature after the standard signature verification device verifies that the standard signature is valid comprises: determining whether the proxy signature device administrator verifies, according to the partial proxy signature of each proxy signature device, that both a formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and a formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold; and computing the multi-proxy signature according to a formula σ=(ω,T_(MP),V_(MP)) when the proxy signature device administrator verifies that both the formula V₀P=P_(pub)H(ID₀,P₀)+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀) and the formula V_(i)P=P_(pub)H(ID_(i),P_(i))+P_(i)H₃(m,T_(i),P_(i))+T_(i)H₄(m,T_(i),P_(i)) hold, wherein V₀ is obtained through computation by the original signature device according to a formula V₀=D₀+x₀H₁(ω,T₀,P₀)+r₀H₂(ω,T₀, P₀), wherein ω comprises identity information of the proxy signature device and identity information of the original signature device, wherein T₀ is obtained through computation by the original signature device according to a formula T₀=r₀P, wherein r₀ is randomly selected by the original signature device from Z*_(q) according to a formula r₀εZ*_(q), wherein σ is the multi-proxy signature, wherein T_(MP) is given by T_(MP)=(T₀, T₁, . . . , T_(n)), wherein T_(i) is obtained through computation by a proxy signature device with a sequence number of i according to a formula T_(i)=r_(i)P, wherein r_(i) is randomly selected by the proxy signature device with the sequence number of i from Z*_(q) according to a formula r_(i)εZ*_(q), wherein V_(MP) is given by V_(MP)=Σ_(i=0) ^(n)V_(i), wherein V_(i) is obtained through computation by the proxy signature device with the sequence number of i according to a formula V_(i)=D_(i)+x_(i)H₃(m,T_(i),P_(i))+r_(i)H₄(m,T_(i),P_(i)), wherein i (1≦i≦n) is a sequence number of the proxy signature device, wherein n is a quantity of proxy signature devices, and wherein the public parameter further comprises H₃(•) and H₄(•).
 14. The certificateless multi-proxy signature apparatus according to claim 13, wherein verifying the multi-proxy signature according to the public key of each proxy signature device comprises verifying the multi-proxy signature according to a formula V_(MP)P=P_(pub)Σ_(i=0) ^(n)H(ID_(i),P_(i))+Σ_(i=1) ^(n)P_(i)H₃(m,T_(i),P_(i))+Σ_(i=1) ^(n)T_(i)H₄(m,T_(i),P_(i))+P₀H₁(ω,T₀,P₀)+T₀H₂(ω,T₀,P₀). 